home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / glass / glass.lha / GLASS / glassme / gme12 < prev    next >
Text File  |  1991-02-19  |  5KB  |  141 lines

  1.  
  2.  
  3.  
  4. walk partyp (>i,> PTInt, " (PTInt)">): ->;
  5. walk partyp (>i,> PTFlo, " (PTFlo)">): ->;
  6. walk partyp (>i,> PTStr, " (PTStr)">): ->;
  7. walk partyp (>i,> PTBool, " (PTBool)">): ->;
  8. walk partyp(>i,> PTErr * errmsg, i+"(PTErr"+show errmsg+")">): 
  9.         set exit code,
  10.     walk string (>i+I,>errmsg,show errmsg>), ->;
  11. walk partyp (>i, >err, 
  12.             i+"(PTErr \"*** Malformed parameter type  "+trace err+"\")\n">):
  13.         set exit code,
  14.        trace meta ds (>err, trace err>).
  15.  
  16.  
  17. walk typ(>i,> TypBase * basenm, i+"(TypBase"+show basenm+")">):
  18.     walk symbol (>i+I,>basenm,show basenm>), ->;
  19. walk typ(>i,> TypIn * ityp, i+"(TypIn"+show ityp+")">):
  20.     walk typ (>i+I,>ityp,show ityp>), ->;
  21. walk typ(>i,> TypOut * otyp,
  22.         i+"(TypOut"+show otyp+")">):
  23.     walk typ (>i+I,>otyp,show otyp>), ->;
  24. walk typ(>i,> TypUni * uityp * uotyp,
  25.         i+"(TypUni"+show uityp+show uotyp+")">):
  26.     walk typ (>i+I,>uityp,show uityp>),
  27.     walk typ (>i+I,>uotyp,show uotyp>), ->;
  28. walk typ(>i,> TypNon * nontyp,
  29.         i+"(TypNon"+show nontyp+")">):
  30.     walk typ (>i+I,>nontyp,show nontyp>), ->;
  31. walk typ(>i,> TypProd * ptypes,
  32.         i+"(TypProd"+show ptypes+")">):
  33.     walk typ list (>i+I,>ptypes,show ptypes>), ->;
  34. walk typ(>i,> TypSym * sym,
  35.         i+"(TypSym"+show sym+")">): 
  36.     walk symbol (>i+I,>sym,show sym>), ->;
  37. walk typ(>i,> TypErr * errmsg,
  38.         i+"(TypErr"+show errmsg+")">): 
  39.         set exit code,
  40.     walk string (>i+I,>errmsg,show errmsg>), ->;
  41. walk typ (>i, >err, i+"(TypErr \"*** Malformed type "+ trace err+"\")\n">):
  42.         set exit code,
  43.        trace meta ds (>err, trace err>).
  44.  
  45.  
  46.  
  47. walk formcon(>i,> FCList * fclist,
  48.         i+"(FCList"+show fclist+")">):
  49.     walk formcon list (>i+I,>fclist,show fclist>), ->;
  50. walk formcon(>i,> FCSym * fcsym,
  51.         i+"(FCSym"+show fcsym+")">):
  52.     walk symbol (>i+I,>fcsym,show fcsym>), ->;
  53. walk formcon(>i,> FCComp * l*r, "(FCComp "+show l+N+i+show r+")">): ->,
  54.     walk formcon  (>i,>l,show l>),
  55.     walk formcon  (>i,>r,show r>);
  56. walk formcon(>i,> FCErr * errmsg,
  57.         i+"(FCErr"+show errmsg+")">):
  58.         set exit code,
  59.     walk string (>i+I,>errmsg,show errmsg>), ->;
  60. walk formcon (>i, >err, 
  61.          i+"(FCErr \"*** Malformed formal connection "+ trace err+ "\")\n">):
  62.         set exit code,
  63.        trace meta ds (>err, trace err>).
  64.  
  65.  
  66.  
  67. walk parval(>i,> ParInt * int,
  68.         i+"(ParInt "+show int+")">):
  69.     walk inum (>i+I,>int,show int>), ->;
  70. walk parval(>i,> ParFlo * float,
  71.         i+"(ParFlo "+show float+")">):
  72.     walk fnum (>i+I,>float,show float>), ->;
  73. walk parval(>i,> ParStr * string,
  74.         i+"(ParStr"+show string+")">):
  75.     walk string (>i+I,>string,show string>), ->;
  76. walk parval(>i,> ParBool * bool,
  77.         i+"(ParBool "+show bool+")">):
  78.     walk bool (>i+I,>bool,show bool>), ->;
  79. walk parval(>i,> ParErr * errmsg,
  80.         i+"(ParErr "+show errmsg+")">):
  81.         set exit code,
  82.     walk string (>i+I,>errmsg,show errmsg>), ->;
  83. walk parval (>i, >err, 
  84.                i+"(ParErr \"*** Malformed parameter "+trace err+"\")\n">):
  85.         set exit code,
  86.        trace meta ds (>err, trace err>).
  87.  
  88.  
  89.  
  90. walk val(>i,> VSym * symorig * sym,
  91.         i+"(VSym"+show symorig+show sym+")">):
  92.     walk orig (>i+I,>symorig,show symorig>),
  93.     walk symbol (>i+I,>sym,show sym>), ->;
  94. walk val(>i,> VValApply * avval * avpar,
  95.         i+"(VValApply"+show avval+show avpar+")">):
  96.     walk val (>i+I,>avval,show avval>),
  97.     walk val (>i+I,>avpar,show avpar>), ->;
  98. walk val(>i,> VApply * avval * avpar,
  99.         i+"(VApply"+show avval+show avpar+")">):
  100.     walk val (>i+I,>avval,show avval>),
  101.     walk val (>i+I,>avpar,show avpar>), ->;
  102. walk val(>i,> VLambda * slpar * slval,
  103.         i+"(VLambda"+show slpar+show slval+")">):
  104.     walk formcon (>i+I,>slpar,show slpar>),
  105.     walk val (>i+I,>slval,show slval>), ->;
  106. walk val(>i,> VSigma * sspar * ssval, i+"(VSigma"+show sspar+show ssval+")">):
  107.     walk formcon (>i+I,>sspar,show sspar>),
  108.     walk val (>i+I,>ssval,show ssval>), ->;
  109. walk val(>i,> VWhere * wdefs * wval, i+"(VWhere"+show wdefs+show wval+")">):
  110.     walk def list (>i+I,>wdefs,show wdefs>),
  111.     walk val (>i+I,>wval,show wval>), ->;
  112. walk val(>i,> VList * l, i+"(VList"+show l+")">):
  113.     walk val list (>i+I,>l,show l>), ->;
  114. walk val(>i,> VAppset * aps, i+"(VAppset"+show aps+")">):
  115.     walk val list (>i+I,>aps,show aps>), ->;
  116. walk val(>i,> VAtom * atorig * atomnm * atvpar * actpar,#
  117.         i+"(VAtom"+show atorig+show atomnm+show atvpar+show actpar+")">):
  118.     walk orig (>i+I,>atorig,show atorig>),
  119.     walk symbol (>i+I,>atomnm,show atomnm>),
  120.     walk parval list (>i+I,>atvpar,show atvpar>),
  121.     walk val (>i+I,>actpar,show actpar>), ->;
  122. walk val(>i,> VSyn * synlist, i+"(VSyn"+show synlist+")">):
  123.     walk val list (>i+I,>synlist,show synlist>), ->;
  124. walk val(>i,> VComp *first*rest,"(VComp "+show first+N+i+show rest+")">): ->,
  125.     walk val  (>i,>first,show first>),
  126.     walk val  (>i,>rest,show rest>);
  127. walk val(>i,> VInd *  expr *  ind,"(VInd "+show expr+" "+show ind+")">): ->,
  128.     walk val  (>i,>expr,show expr>),
  129.     walk i num  (>i,>ind,show ind>);
  130. walk val(>i,> VSlice *  expr *  ind 1* ind 2, 
  131.               "(VSlice " +show expr+" "+show ind 1 + " "+show ind 2+")">): ->,
  132.     walk val  (>i,>expr,show expr>),
  133.     walk i num  (>i,>ind 1,show ind 1>),
  134.     walk i num  (>i,>ind 2,show ind 2>);
  135. walk val(>i,> VErr * errmsg, i+"(VErr"+show errmsg+")">):
  136.         set exit code,
  137.     walk string (>i+I,>errmsg,show errmsg>), ->;
  138. walk val (>i, >err, i+"(VErr \"*** Malformed value "+trace err+"\")\n">):
  139.         set exit code,
  140.        trace meta ds (>err, trace err>).
  141.